package com.kcwl.carrier.domain.repository;

import com.kcwl.carrier.domain.entity.VehicleTrailerCondition;
import com.kcwl.carrier.domain.entity.VehicleTrailerInfo;
import com.kcwl.carrier.domain.entity.VehicleTrailerInfoVo;
import com.kcwl.carrier.infrastructure.repository.po.VehicleTrailerPO;
import com.kcwl.carrier.interfaces.query.PlateNumberQuery;
import com.kcwl.carrier.interfaces.query.VehicleTrailerQuery;
import com.kcwl.ddd.domain.entity.KcPage;
import com.kcwl.ddd.domain.repository.IBaseRepository;

import java.util.List;

/**
 * @author 刘旭超
 * @date 2022年07月11日 16:33
 * @Description
 */
public interface IVehicleTrailerRepository extends IBaseRepository<VehicleTrailerPO> {

    void updateById(VehicleTrailerInfo vehicleTrailer);

    List<VehicleTrailerInfo> getList(VehicleTrailerCondition condition);

    List<VehicleTrailerInfo> getByIds(List<Long> ids);

    KcPage<VehicleTrailerInfo> getTrailerList(PlateNumberQuery query);

    KcPage<VehicleTrailerInfoVo> queryVehicleTrailerPage(VehicleTrailerQuery query);

    VehicleTrailerInfo getTrailerDetail(Long id);
}
